//
//  UIViewController+Navigation.h
//  DreamOf
//
//  Created by 薛小刚 on 2018/3/28.
//  Copyright © 2018年 薛小刚. All rights reserved.
//

#import <UIKit/UIKit.h>


@class GUIButton;

@interface UIViewController (Navigation)

/**
 设置导航栏的背景图片

 @param imageName 图片名传空或者nil默认白色
 */
- (void)setNavigationBarBackgroundImage:(NSString *) imageName;

/**
 设置导航栏的背景图片
 
 @param image 必须传图片
 */
- (void)setNavigationBarBackgroundWithImage:(UIImage *)image;

/**
 设置导航栏的背景颜色

 @param colorName 颜色默认白色
 */
- (void)setNavigationBarBackgroundColor:(UIColor *) colorName;

/**
 设置导航栏分割线的颜色

 @param image 图片
 */
- (void)setNavigationBarShadowImge:(UIImage *) image;

/**
 设置文字标题

 @param frame 位置,默认居中
 @param titile 标题
 @param size 字号
 @param color 字体颜色
 @return 返回值
 */
- (id)setTextTitleViewWithFrame:(CGRect)frame
                         title:(NSString *)titile
                      fontSize:(int)size
                     textColor:(UIColor *) color;
/**
 图片标题

 @param frame 尺寸
 @param image 图片名字
 @return 返回值
 */
- (id)setImageTitleViewWithFrame:(CGRect)frame
                          image:(NSString *)image;


/**
 选项卡标题

 @param items 选项的数组
 @return 返回值
 */
- (id)setSegmentTitleViewWithItems:(NSArray *)items;

/**
 设置view标题

 @param view view视图
 @return 返回值
 */
- (id)setViewTitleView:(UIView *) view;

#pragma mark ->左侧按钮

/**
 左侧按钮,既有图标又有文字的左边按钮

 @param frame 尺寸
 @param titile 标题
 @param titleColor 标题颜色
 @param image 图标
 @param backImage 背景图片
 @param selectBackImage 选中的图片
 @param action 方法
 @return 返回值
 */
- (id)setLeftBarButtonItemWithFrame:(CGRect)frame
                               title:(NSString *)titile
                          titleColor:(UIColor *)titleColor
                               image:(NSString *)image
                           backImage:(NSString *)backImage
                     selectBackImage:(NSString *)selectBackImage
                              action:(void(^)(GUIButton *button))action;

/**
 左侧按钮, 只有图片

 @param frame 尺寸
 @param image 图片
 @param selectImage 选中的图片
 @param action 方法
 @return 返回值
 */
- (id)setLeftImageBarButtonItemWithFrame:(CGRect)frame
                                  image:(NSString *)image
                            selectImage:(NSString *)selectImage
                                 action:(void(^)(GUIButton *button))action ;

/**
 左侧按钮,只有文字

 @param frame frame
 @param titile 标题
 @param titleColor 标题颜色
 @param backImage 背景图片
 @param selectBackImage 选中的图片
 @param action 方法
 @return 返回值
 */
- (id)setLeftTextBarButtonItemWithFrame:(CGRect)frame
                                  title:(NSString *)titile
                             titleColor:(UIColor *)titleColor
                              backImage:(NSString *)backImage
                        selectBackImage:(NSString *)selectBackImage
                                 action:(void(^)(GUIButton *button))action ;



#pragma mark -> 右侧按钮

/**
 右侧按钮,图片和文字

 @param frame frame
 @param titile 标题
 @param titleColor 标题颜色
 @param image 图片
 @param backImage 背景图片
 @param selectBackImage 选中的背景图片
 @param action 方法
 @return 返回值
 */
-(id)setRightBarButtonItemWithFrame:(CGRect)frame
                              title:(NSString *)titile
                         titleColor:(UIColor *)titleColor
                              image:(NSString *)image
                          backImage:(NSString *)backImage
                    selectBackImage:(NSString *)selectBackImage
                             action:(void(^)(GUIButton *button))action;

/**
 只有图片的右边按钮

 @param frame frame
 @param image 图片
 @param selectImage 选中的图片
 @param hidden 是否有红点
 @param action 方法
 @return 返回值
 */
-(id)setRightImageBarButtonItemWithFrame:(CGRect)frame
                                   image:(NSString *)image
                             selectImage:(NSString *)selectImage
                                ishidden:(BOOL)hidden
                                  action:(void(^)(GUIButton *button))action;


/**
 只有文字

 @param frame frame
 @param titile 标题
 @param titleColor 标题的颜色
 @param backImage 背景图片
 @param selectBackImage 选中的背景图片
 @param action 方法
 @return 返回值
 */
-(id)setRightTextBarButtonItemWithFrame:(CGRect)frame
                                  title:(NSString *)titile
                             titleColor:(UIColor *)titleColor
                              backImage:(NSString *)backImage
                        selectBackImage:(NSString *)selectBackImage
                                 action:(void(^)(GUIButton *button))action;

-(id)setRightImageBarButtonItemWithImageArray:(NSArray *)array action:(void(^)(GUIButton *button))action;
@end
